home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part1 / 1298 < prev    next >
Encoding:
Text File  |  1996-08-06  |  4.2 KB  |  92 lines

  1. Newsgroups: comp.object,comp.software-eng,comp.lang.c++
  2. Path: blackbush.xlink.net!slsv6bt!slsv6bt!kanze
  3. From: kanze@lts.sel.alcatel.de (James Kanze US/ESC 60/3/141 #40763)
  4. Subject: Re: Moving from C to C++
  5. In-Reply-To: vancleef@ohstpy.mps.ohio-state.edu's message of 10 Jan 96 02:40:13 -0500
  6. Message-ID: <KANZE.96Jan10115116@slsvewt.lts.sel.alcatel.de>
  7. Sender: news@lts.sel.alcatel.de
  8. Organization: SEL
  9. References: <4cs44p$3pk@ixnews8.ix.netcom.com> <30F2A73C.7519@i-o.com>
  10.     <1996Jan10.024013.8711@ohstpy>
  11. Date: 10 Jan 1996 10:51:16 GMT
  12.  
  13. In article <1996Jan10.024013.8711@ohstpy>
  14. vancleef@ohstpy.mps.ohio-state.edu writes:
  15.  
  16. |> In article <30F2A73C.7519@i-o.com>, "David F. St.Clair" <dstclair@i-o.com> writes:
  17. |> > Rocco Pochy wrote:
  18. |> > 
  19. |> >> Our company is looking at moving toward C++ and the object-oriented
  20. |> >> paradigm.  Unfortunately, the engineering staff is trained in C. Does
  21. |> >> anybody have any experiences in moving from a structure C environment
  22. |> >> to that of an object-oriented C++ environment?
  23. |> >> 
  24. |> >> Is it better to ease everyone into using C++ as a better C and take
  25. |> >> advantage of the encapsulation, getting people familar on the tools
  26. |> >> before jumping into a full object-oriented development?  Or should
  27. |> >> one jump right in a take the learning curve hit, sacrificing time to
  28. |> >> market?
  29.  
  30.     [...]
  31. |> > After around 3-6 months, get some formal OO training.  Suitcase the course in
  32. |> > as well.  There are several good 5 day courses out there.  Include managers in the
  33. |> > training classes.  Make a big production of training and stress the importance.
  34. |> > 
  35.  
  36. |> Treating OO like it's the 'chapter at the end of the book' is a waste of
  37. |> their time. You must teach OO from the beginning.
  38.  
  39. |> C++ is a better C only to C programmers who refuse to change from 
  40. |> structures programming. If you C++ programmers, you are going to have to
  41. |> teach OO from the first day. Anythig else is a waste of time.
  42.  
  43. Yes and no.  In my experience, the additional syntax in C++ can be a
  44. real problem.  My own solution has been basically what was
  45. recommended; first teach C++, and get people familiar with it, then
  46. attact the OO issues.  The OO requires a totally new approach, and I
  47. find it beneficial not to be able to teach it at a high level, without
  48. having to hassle with all of the syntactical complexities of C++.
  49.  
  50. One could argue that this is a problem of C++; teach the OO in a
  51. language that doesn't have so many syntactical complexities.  In my
  52. experience, however, although C++ may be more complex than most, all
  53. languages have some syntactic quirks.  And of course, once the OO
  54. learned, it must be applied immediatly; the language used to teach it
  55. must be one you are using in real applications.
  56.  
  57. In some ways, you might liken it to learning a foreign language.
  58. Reading Racine is certainly a more significant activity than just
  59. learning to decline a few French verbs.  But if you have to conciously
  60. analyse each verb in Racine, you're not going to appreciate the
  61. overall beauty of the play.  C++ is the verbal declinations, OO is the
  62. literature.  (I suppose some would argue that learning C++ to do OO is
  63. about like learning Russian to read Racine:-).  I'll make no comment
  64. on that.)
  65.  
  66.     [...]
  67. |> I programmed in C for years. It took me *one week* to learn C++ when thrown
  68. |> into 50,000 lines of badly written C++ (written by C programmers who
  69. |> tried to use some OO concepts) and asked to 'make it work'. I
  70. |> did. I will never look back.
  71.  
  72. I think I came up to spead pretty quickly, too.  But there is a
  73. difference between a way that is possible, and a way that works
  74. generally for everyone.
  75.  
  76. |> > Look for evolutionary changes/benefits, not revolutionary.
  77. |> > 
  78.  
  79. |> Sorry, but C++ is revolutionary. C++ is NOT a better C and teaching this
  80. |> to people on your payroll is a waste of money.
  81.  
  82. C++ is not revolutionary in itself.  The OO attitude is revolutionary.
  83. Which is precisely why it is non-trivial, and why I find it useful to
  84. get the low-level language details out of the way before presenting
  85. it. 
  86. --
  87. James Kanze         Tel.: (+33) 88 14 49 00        email: kanze@gabi-soft.fr
  88. GABI Software, Sarl., 8 rue des Francs-Bourgeois, F-67000 Strasbourg, France
  89. Conseils, Θtudes et rΘalisations en logiciel orientΘ objet --
  90.                 -- A la recherche d'une activitΘ dans une region francophone
  91.  
  92.